import axios from "axios";

// 创建一个 axios 实例
const instance = axios.create({
    baseURL: "http://localhost:3000/api", // 你的API基础URL
    timeout: 5000, // 请求超时时间
    // headers: {
    //     "Content-Type": "application/json",
    // },
});

// 请求拦截器
instance.interceptors.request.use(
    (config) => {
        return config;
    },
    (error) => {
        // 对请求错误做些什么
        return Promise.reject(error);
    }
);

// 响应拦截器
instance.interceptors.response.use(
    (response) => {
        // 对响应数据做些什么
        return response.data;
    },
    (error) => {
        // 对响应错误做些什么
        return Promise.reject(error);
    }
);

// 定义 API 接口
const api = {
    // 注册接口
    register: (data) => instance.post("/register", data),
    // 登录接口
    login: (data) => instance.post("/login", data),
    // 获取当前用户的说说接口
    getUserShuoShuo: (data) => instance.get("/user/shuoShuo", { params: data }),
    // 根据说说id获取当前说说点赞列表
    getShuoShuoLikeList: (data) =>
        instance.get("/shuoShuo/like", { params: data }),
    // 根据说说id获取当前说说评论信息列表
    getShuoShuoCommentList: (data) =>
        instance.get("/shuoShuo/comment", { params: data }),
    // 根据userid获取用户信息
    getUserInfo: (data) => instance.get("/user/info", { params: data }),
    // 根据userid更新用户名
    updateUsername: (data) => instance.put("/user/username", data),
    // 根据userid更新用户密码
    updatePassword: (data) => instance.put("/user/password", data),
    // 上传头像
    uploadAvatar: (data) =>
        instance.post("/user/avatar", data, {
            headers: {
                "Content-Type": "multipart/form-data",
            },
        }),
    // 根据说说id插入评论
    insertComment: (data) => instance.post("/shuoShuo/comment", data),
    // 根据说说id和点赞人姓名删除点赞情况
    deleteLike: (data) => instance.delete("/shuoShuo/like", { data }),
    // 根据说说id和点赞人姓名添加点赞情况
    insertLike: (data) => instance.post("/shuoShuo/like", data),
    // 获取所有说说列表
    getAllShuoShuoList: (data) =>
        instance.get("/shuoShuo/list", { params: data }),
    // 根据说说id获取说说的图片列表
    getShuoShuoImageList: (data) =>
        instance.get("/shuoShuo/pic", { params: data }),
    // 根据用户id获取说说所有图片列表
    getUserAllShuoShuoImageList: (data) =>
        instance.get("/user/pic", { params: data }),
    // 发布说说文件上传路由
    uploadShuoShuoFile: (data) => instance.post("/uploadImages", data),
    // 发布说说的接口，需要u_id,text_content,u_avatar_url.u_name
    insertShuoShuo: (data) => instance.post("/shuoShuo/release", data),
    // 根据说说id和图片url和用户id插入图片信息
    insertShuoShuoImage: (data) => instance.post("/shuoShuo/pic", data),
    // 获取所有好友列表
    getFriendList: (data) => instance.get("/friend/list", { params: data }),
    // 获取百度AI的token
    getBaiduToken: () => instance.get("/baidu-token"),
};

export default api;
